<script>
import { getUrl, getWXOpenIdCode, getZFBUserIdCode } from '@/utils/utils.js'
import { loginAjax } from 'Ajax'
import { getCookie, setCookie } from '@/utils/validate.js'
export default {
  data() {
    return {
      payEnv: this.$store.getters.env
    }
  },
  mounted() {
    if (!this.$store.getters.token) { // 是否登录
      this.getUserInfo(this.payEnv)
    }
  },
  methods: {
    // 登录 根据 环境,code,商户号,获取用户信息
    loginRequest(env, code, terminalNo) {
      const params = {
        type: 1,
        [env]: code,
        terminalNo: terminalNo // '12467217'
      }
      loginAjax.wxRegister(params).then(res => {
        this.$store.dispatch('public/setUserInfo', res)
        // if (res.userType === 'SH_TEMP') {
        //   this.$jump('/pay-view')
        // } else if (res.userType === 'SH_HUIYUAN') {
        //   this.$jump('/member-pay')
        // }
        // 注意
        if (terminalNo === '12467217') {
          this.$jump('/member-pay')
        } else {
          this.$jump('/pay-view')
        }
      }, (error) => {
        alert(error)
        this.$toast('请您重新进入~')
      })
    },
    // 根据环境 获取code, 存储 terminalNo
    getCode: function(env) {
      const terminalNo = getUrl().terminalNo
      terminalNo ? setCookie('terminalNo', terminalNo) : alert('商户号为空~')
      // this.$toast('商户号为空~')
      if (env === 'WX') {
        getWXOpenIdCode()
      } else if (env === 'ZFB') {
        getZFBUserIdCode()
      }
    },
    // 根据环境 获取 token 信息
    getUserInfo: function(env) {
      if (env === 'WX') {
        const code = getUrl().code // 公众号返回code
        code ? this.loginRequest('wxCode', code, getCookie('terminalNo')) : this.getCode(env) // 返回code更新openId  没有返回获取code
      } else if (env === 'ZFB') {
        const code = getUrl().auth_code // 公众号返回code
        code ? this.loginRequest('zfbCode', code, getCookie('terminalNo')) : this.getCode(env) // 返回code更新urserId  没有返回获取code
      }
    }
  }
}
</script>
